import { ExtractPropTypes, PropType } from "vue";
import { IAppView } from "@ibiz/model-core";
import { IModal, IViewProvider } from "@ibiz-template/runtime";

export const viewProps = {
    context: Object as PropType<IContext>,
    params: { type: Object as PropType<IParams>, default: () => ({}) },
    modelData: { type: Object as PropType<IAppView>, required: true },
    modal: { type: Object as PropType<IModal> },
    state: { type: Object as PropType<IData> },
    provider: { type: Object as PropType<IViewProvider> },
  };

export type ViewProps = ExtractPropTypes<typeof viewProps>;
